Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add patch release notes and docs fixes #1412

Merged
merged 8 commits into from
Feb 19, 2024

Conversation

coruscating
Copy link
Collaborator

@coruscating coruscating commented Feb 14, 2024

Summary

Closes #1401. Our release notes currently doesn't include notes of the patch releases before the most recent minor release. This PR updates release_notes.rst to build previous patch releases (0.3.1 isn't rendering but I think it's too old to be useful now anyways). The new process prior to release is that release notes from the most recent minor version's patch releases should be deleted from the main branch prior to a new minor release, and release_notes.rst needs to have a new directive added for the previous stable branch.

Details and comments

A few other minor changes:

  • Wraps the output text of jupyter-sphinx blocks
  • Update the contributor guide to include release note subcategories
  • Suppress the debugger warning during the docs build by setting PYDEVD_DISABLE_FILE_VALIDATION=1
  • Add a link to the main branch to the dev docs banner

@coruscating coruscating added backport stable potential The issue or PR might be minimal and/or import enough to backport to stable documentation Improvements or additions to documentation labels Feb 14, 2024
Comment on lines -81 to -86
.. jupyter-execute::
:hide-code:
:hide-output:

%matplotlib inline

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why, but removing this block got rid of the RuntimeWarning: divide by zero encountered in det numpy errors for me locally. The block also doesn't do anything to begin with since the figures already render fine.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange.

@coruscating coruscating requested a review from wshanks February 14, 2024 22:55
Copy link
Collaborator

@wshanks wshanks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

I think we should move to building the release notes for the previous minor with reno report and adding that output directly into release_notes.rst when we make a new minor release and then only use the release-notes:: directive for the current minor. The reason that 0.3.1 does not show up is that it is not in the history of stable/0.5 since 0.3 branched off from main and 0.3.1 was on that branch. Basically, we will only get one release worth of patch notes per release.

We could do

.. release-notes::
   :branch: stable/0.5
   :earlieast-version: 0.5.0

.. release-notes::
   :branch: stable/0.4
   :earlieast-version: 0.4.0

.. release-notes::
   :branch: stable/0.3
   :earlieast-version: 0.3.0

.. release-notes::
   :branch: stable/0.2
   :earlieast-version: 0.2.0

but I don't see the advantage to continuing to build the old notes from the individual files when those releases are never changing. If a Sphinx reference breaks, we have to go back and fix it in the old branch. I think it's better just to keep the rendered rst in the file and update it on the main branch if we need to.

I agree that deleting the patch release notes from the main branch is necessary. With the way we do things now, I think we could do this with a script. When a new minor 0.X.0 is going to be released, we move all the files in releasenotes/notes into release/notes/0.X. Then after the release is branched, any new notes get added to releasenotes/notes (which starts the release empty) and any backported ones get copied to releasenotes/notes on stable/0.X. So when it is time to release 0.(X+1).0, we just need a script to get the list of files in releasenotes/notes on stable/0.X and remove them from releasenotes/notes on main.

Comment on lines -81 to -86
.. jupyter-execute::
:hide-code:
:hide-output:

%matplotlib inline

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange.

@wshanks wshanks added this pull request to the merge queue Feb 19, 2024
Merged via the queue into qiskit-community:main with commit 0bbd426 Feb 19, 2024
11 checks passed
mergify bot pushed a commit that referenced this pull request Feb 19, 2024
### Summary

Closes #1401. Our release notes currently doesn't include notes of the
patch releases before the most recent minor release. This PR updates
`release_notes.rst` to build previous patch releases (0.3.1 isn't
rendering but I think it's too old to be useful now anyways). The new
process prior to release is that release notes from the most recent
minor version's patch releases should be deleted from the main branch
prior to a new minor release, and `release_notes.rst` needs to have a
new directive added for the previous stable branch.

### Details and comments

A few other minor changes:

- Wraps the output text of jupyter-sphinx blocks
- Update the contributor guide to include release note subcategories
- Suppress the debugger warning during the docs build by setting
`PYDEVD_DISABLE_FILE_VALIDATION=1`
- Add a link to the main branch to the dev docs banner
-

(cherry picked from commit 0bbd426)
@coruscating coruscating deleted the patch-release-notes branch February 19, 2024 20:33
coruscating added a commit that referenced this pull request Feb 19, 2024
This is an automatic backport of pull request #1412 done by
[Mergify](https://mergify.com).


---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the
[documentation](https://docs.mergify.com/).

You can also trigger Mergify actions by commenting on this pull request:

- `@Mergifyio refresh` will re-evaluate the rules
- `@Mergifyio rebase` will rebase this PR on its base branch
- `@Mergifyio update` will merge the base branch into this PR
- `@Mergifyio backport <destination>` will backport this PR on
`<destination>` branch

Additionally, on Mergify [dashboard](https://dashboard.mergify.com) you
can:

- look at your merge queues
- generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com
</details>

Co-authored-by: Helena Zhang <[email protected]>
@coruscating
Copy link
Collaborator Author

I just noticed the notes in the github build only goes back to the 0.4 prelude, which I didn't catch because my local build went back to 0.2: https://qiskit-extensions.github.io/qiskit-experiments/dev/release_notes.html. In the logs, reno only saw 0.5.x and 0.4 in stable/0.5, maybe because it doesn't know about the older tags? I suppose we may as well put in a PR to backfill the old notes manually since we want to do that anyways.

github-merge-queue bot pushed a commit that referenced this pull request Apr 10, 2024
### Summary

As described in
#1412 (review),
this PR removes the directive for older release notes to prep for the
0.6.1 patch release. Avoiding rebuilding older release notes every time
also removes the requirement for local builds to fetch older stable
branches. Older patch release notes that were missing, such as 0.3.1,
have been repopulated. The reno version has also been updated to the
newest release instead of the previous commit ID.
mergify bot pushed a commit that referenced this pull request Apr 10, 2024
### Summary

As described in
#1412 (review),
this PR removes the directive for older release notes to prep for the
0.6.1 patch release. Avoiding rebuilding older release notes every time
also removes the requirement for local builds to fetch older stable
branches. Older patch release notes that were missing, such as 0.3.1,
have been repopulated. The reno version has also been updated to the
newest release instead of the previous commit ID.

(cherry picked from commit 4c93833)
coruscating added a commit that referenced this pull request Apr 10, 2024
### Summary

As described in
#1412 (review),
this PR removes the directive for older release notes to prep for the
0.6.1 patch release. Avoiding rebuilding older release notes every time
also removes the requirement for local builds to fetch older stable
branches. Older patch release notes that were missing, such as 0.3.1,
have been repopulated. The reno version has also been updated to the
newest release instead of the previous commit ID.<hr>This is an
automatic backport of pull request #1437 done by
[Mergify](https://mergify.com).

Co-authored-by: Helena Zhang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport stable potential The issue or PR might be minimal and/or import enough to backport to stable documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build release notes for older patch releases
2 participants